How to Program a Domain Independent Tracer for Explanations

ثبت نشده
چکیده

Explanations are essential in the teaching process. Tracers are one possibility to provide students with explanations in an intelligent tutoring system. Their development can be divided into four steps: the definition of the trace model, the extraction of the information from this model, the analysis and abstraction of the extracted information and the visualization of the result of the analysis. This article describes the architecture of a domain independent tracer developed in Visual Prolog displaying explanations in the form of a textual dialog or a graphical tree. Introduction Explanations are an integral part of any teaching process. A tutorial system should be able not only to solve problems but also to explain them. For this purpose, the steps leading to the solution must be recorded in order to be presented to the student in case of difficulties. Two techniques are generally used: meta-interpreters and tracers. In meta-programming data are programs (Yalcinalp, 1991). Since Prolog code and data have the same format (i.e. Horn clauses), this language is particularly appropriate for meta-programming. Meta-interpreters are generally used to add supplementary functions to an existing interpreter. We developed several domain dependent and domain independent meta-interpreters (Rätz & Lusti, 1992; Rätz, 1993; Trapp & Lusti, 1999; Trapp, 2000). Meta-programming in standard Prolog is easy because its source code is interpreted and therefore accessible at run-time. Other Prolog systems produce compiled code, which is faster but complicates meta-programming (Lusti, 1990). FA-Tutor, for example, is an Intelligent Tutoring System for financial analysis developed in a compiled variant of Prolog (Lusti, 1995). This article describes the architecture of a tracer for AHP-Tutor, a system teaching the theoretical background of the Analytic Hierarchy Process. AHP-Tutor has been developed in Visual Prolog, a compiled Prolog (Ishizaka & Lusti, 2003). Tracer A tracer collects a detailed protocol (trace) of the execution of a program. To understand how a program reaches its result, we add side effects producing supplementary information on the intermediary states of the execution. This information is analysed and summarised before being presented to the user. The construction of a tracer can be divided into four steps (Ducassé & Noye, 1994): 1. definition of a trace model 2. extraction of information from this model 3. analysis/abstraction of the extracted information 4. visualisation of the result of the analysis. These four steps are often considered neither explicitly nor separately. In AHP-Tutor (Ishizaka & Lusti, 2003), for example, the steps 2 and 3 are concomitant. The literature is rich in tracers producing information on program execution for debugging purposes (Lakhotia, Sterling & Bojantchev, 1995; Dichev & Du Boulay , 1989; Ducassé, 1999; Ducasse, Langevine & Deransart, 2003). It has been noted that the produced information, with some enrichment, could be used as an explanations in teaching courses. The tracers have been modified in order to be used as an explanation component in support of Prolog language teaching courses such as the Prolog Trace Package (Eisenstadt, 1984; Eisenstadt, 1985) and the Textual Tree Tracer (Taylor, Du Boulay & Patel, 1991; Patel, Taylor, & Du Boulay, 1994). This technique has been also introduced in intelligent tutoring systems, for example LP-Tutor (Born, 1995; Born & Lusti, 1996), ROSA (Muntjewerff & Winkels, 1995) or SlideTutor (Crowley & Medvedeva, 2003). At each project a new tracer has been implemented. Our paper aims to present a universal explanation component reusable in different intelligent tutoring systems independently of the domain. Definition of a Trace Model An additional argument is added to selected Prolog predicates (figure 1). It protocols the execution trace of the predicate. Thus the resolution process and the explanation of the problem are closely connected. A problem cannot be solved without generating a trace and vice versa. Predicate ( Argument1, ..., ArgumentN, Trace) Figure 1: The additional argument Trace is added to selected predicates The structure of a trace t is defined in the explanation component (figure 2). Trace = t (predicate, LTrace) % Structure of trace t LTrace = Trace* % List of trace structures Figure 2: The additional trace argument is structured (syntax of Visual Prolog) The additional trace argument is tree structured (figure 3). A trace (or protocol tree) contains rules (intermediate nodes) and facts (terminal nodes or leaves). A fact is a consequence without premise.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Role of Packet Tracer in Learning Wireless Networks and Managing IoT Devices

Wireless networks, Internet of Things (IoT), Internet of Everything (IoE), and smart homes have become extremely important terms in our present-day life. Most of the buildings, companies, institutions, and even homes depend onthese technologies for interaction, communication, automation, and everything surrounding humans. To understand the advanced topics in wireless networks and IoT devi...

متن کامل

The Effect of Implementation of Elderly Respect Training Program in Families on Elder Abuse in Yazd

Introduction: The elderly are among the most vulnerable group in the society, and elder abuse is poses a challenge in the domain of elderly care and support. The present study was conducted with the aim of exploring the effect of implementation of an elderly respect education program in families on the elder mistreatment in the city of Yazd in 2016. Methods: The present study was an experiment...

متن کامل

Methods for Generating Explanations

A computer program that models an expert in a given domain is more likely to be accepted by experts in that domain, and by nonexperts seeking its advice, if the system can explain its actions. This chapter discusses the general characteristics of explanation capabilities for rule-based systems: what types of explanations they should be able to give, what types of knowledge they will need in ord...

متن کامل

Explaining recommendations generated by MDPs

There has been little work in explaining recommendations generated by Markov Decision Processes (MDPs). We analyze the difculty of explaining policies computed automatically and identify a set of templates that can be used to generate explanations automatically at run-time. These templates are domain-independent and can be used in any application of an MDP. We show that no additional e ort is r...

متن کامل

How to Minimize the Impact of Pandemic Events: Lessons From the COVID-19 Crisis

Severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) is responsible for the current pandemic of coronavirus disease 2019 (COVID-19). This pandemic is characterized by a high variability in death rate (defined as the ratio between the number of deaths and the total number of infected people) across world countries. Several possible explanations have been proposed, but it is not clear whe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005